EL(Expression Language)의 이해 및 실습

1. EL(표현언어)의 이해

  • JSP 객체의 출력을 단순화하는 용도로 JSP 2.0 에서 새롭게 추가된 스펙이다.
  • 자바 빈즈 속성값을 보다 쉽고 제약을 덜 받는 방법으로 사용하기 위해 개발 됨
  • 좀 더 간결하게 JSP 작성이 가능하다

1.1 기본문법

  • 표현 언어는 $로 시작한다.
  • 모든 내용은

    { 표현식 }

    으로 구성된다.

  • 표현식에는 기본적으로 변수명 또는 객체명.메소드 구조로 이루어진다.
  • 예)

    ${ person.name }

1.2 Expression Language 연산자

연산자설 명
. (점)객체의 프로퍼티나 Map의 엔트리 접근
배열이나 List 엘리먼트 접근
( )괄호 표현식
a ? b : ca 가 true면 b를 반환하고 그렇지 않으면 c를 반환
+, -, *, /사칙연산
% 또는 Mod나머지 값
==같다
!=같지않다
< 또는 lt보다 작다
> 또는 gt보다 크다
<= 또는 le작거나 같다
>= 또는 ge크거나 같다
&& 또는 andAND 논리 연산

또는 or

OR 논리 연산
! 또는 notNOT 연산
empty빈값, NULL 값, 빈 문자열, 빈 배열 등을 확인

2. EL(표현언어) 실습

  • 아래 예제를 EL.jsp로 작성하여 직접 테스트 해보자

/webapps/el/EL.jsp


 <%@ page language="java" isELIgnored="false" contentType="text/html; charset=UTF-8"%>

<%
    String name ="Expression Language";
    String[] color = {"red","blue","green"};
    java.util.Map map = new java.util.HashMap();
    map.put("name1","red");
    map.put("name2","blue");
    map.put("name3","green");
    
  request.setAttribute("name", name);
    request.setAttribute("color", color);
    request.setAttribute("map", map);
%>

<html>
<body>
<h4>${name}</h4>
<h4>${color[1]}</h4>
<h4>${map["name1"]}</h4>

<!-- 파라미터 값을 읽어오는 JSP 제공 내장객체 -->
<h4>${param.name}</h4>

</body>
</html>